// packageA/pages/address-manage/index.js
const WXAPI = require("../../../api/api");
import Dialog from "@vant/weapp/dialog/dialog";
Page({
  /**
   * 页面的初始数据
   */
  data: {
    search: {
      PageIndex: 1,
      PageSize: 15,
    },
    isSelect:false,
    isFromServiceDetail:false,
    addressList: [],
  },
  onOpen(event){
      this.setData({
        isSelect:false
      })
  },
  onClose(event) {
    const { position, instance, name } = event.detail;
    let self = this;
    switch (position) {
      case "left":
      case "cell":
        instance.close();
        break;
      case "right":
        Dialog.confirm({
          message: "确定删除吗？",
        })
          .then(async () => {
            let res = await WXAPI.delMyAddress(name);
            if (res.data.code == 0) {
              instance.close();
              self.getAddressList();
            }
          })
          .catch(() => {
            instance.close();
          });
        break;
    }
    this.setData({
      isSelect:true
    })
  },
  selectCurrentAddress(event) {
    console.log('event',event);
    if(!this.data.isSelect){
      return false
    }
    if(!this.data.isFromServiceDetail) {
      return false
    }
    let pages = getCurrentPages(); //获取当前页面pages里的所有信息。
    let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。
    prevPage.setData({
      // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
      addressId: event.currentTarget.dataset.id,
    });
    //上一个页面内执行setData操作，将我们想要的信息保存住。当我们返回去的时候，页面已经处理完毕。
    wx.navigateBack({
      delta: 1,
    });
  },
  toAddAdress() {
    wx.navigateTo({
      url: "/packageA/pages/address-add/index",
    });
  },
  async getAddressList() {
    let res = await WXAPI.getMyAddressList(this.data.search);
    if (res.data.code == 0) {
      this.setData({
        addressList: res.data.data.list,
      });
    }
    console.log(res);
  },
  editAddress(event) {
    console.log("event", event);
    wx.navigateTo({
      url: `/packageA/pages/address-add/index?id=${event.currentTarget.dataset.id}`,
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(options.isSelectAddress) {
      this.setData({
        isSelect:true,
        isFromServiceDetail:true
      })
    } else {
      this.setData({
        isFromServiceDetail:false
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getAddressList();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getAddressList();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});
